home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
pc
/
LOGIC Apple II 5.25" Library - DOS Part 2
/
DOS037.dsk
/
TOM'S TEAM BOWLING SCORES.bas
< prev
Wrap
BASIC Source File
|
2012-02-16
|
7KB
|
273 lines
10 D$ = CHR$(4)
20 PRINT D$;"NOMON C,I,O"
50 GOTO 500
100 PRINT D$;"OPEN NAME,L30"
105 PRINT D$;"WRITE NAME,R0"
110 PRINT R: PRINT G
115 PRINT D$;"CLOSE"
116 RETURN
120 PRINT D$;"OPEN NAME,L30"
125 PRINT D$;"READ NAME,R0"
130 INPUT R: INPUT G
135 PRINT D$;"CLOSE"
140 RETURN
150 PRINT D$;"OPEN NAME,L30"
155 PRINT D$;"WRITE NAME,R";R
160 PRINT N$
165 PRINT D$;"CLOSE"
170 RETURN
180 PRINT D$;"OPEN NAME,L30"
185 PRINT D$;"READ NAME,R";R
190 INPUT N$
195 PRINT D$;"CLOSE"
200 RETURN
210 PRINT D$;"OPEN ";N$;",L30"
215 PRINT D$;"WRITE ";N$;",R0"
220 PRINT R: PRINT TP: PRINT G1
225 PRINT D$;"CLOSE"
226 RETURN
230 PRINT D$;"OPEN ";N$;",L30"
235 PRINT D$;"READ ";N$;",R0"
240 INPUT R: INPUT TP: INPUT G1
245 PRINT D$;"CLOSE"
250 RETURN
260 PRINT D$;"OPEN ";N$;",L30"
265 PRINT D$;"WRITE ";N$;",R";R
270 PRINT S1: PRINT S2: PRINT S3
275 PRINT D$;"CLOSE"
280 RETURN
290 PRINT D$;"OPEN ";N$;",L30"
295 PRINT D$;"READ ";N$;",R";R
300 INPUT S1: INPUT S2: INPUT S3
305 PRINT D$;"CLOSE"
310 RETURN
320 PRINT D$;"OPEN TEAM,L20"
325 PRINT D$;"WRITE TEAM,R0"
330 PRINT R: PRINT G: PRINT GT
335 PRINT D$;"CLOSE"
340 RETURN
350 PRINT D$;"OPEN TEAM,L20"
355 PRINT D$;"READ TEAM,R0"
360 INPUT R: INPUT G: INPUT GT
365 PRINT D$;"CLOSE"
370 RETURN
380 PRINT D$;"OPEN TEAM,L20"
385 PRINT D$;"WRITE TEAM,R";R
390 PRINT G(1): PRINT G(2): PRINT G(3): PRINT G(4)
395 PRINT D$;"CLOSE"
400 RETURN
410 PRINT D$;"OPEN TEAM,L20"
415 PRINT D$;"READ TEAM,R";R
420 INPUT G(1): INPUT G(2): INPUT G(3): INPUT G(4)
425 PRINT D$;"CLOSE"
430 RETURN
500 HOME : VTAB 10: HTAB 11: PRINT "LEAGUE TEAM RECORDS"
510 HTAB 19: PRINT "BY"
520 HTAB 13: PRINT "THOMAS JACOBSEN"
530 FOR X = 1 TO 2000: NEXT X
600 HOME : VTAB 7: HTAB 5: PRINT "1 ENTER THIS WEEKS SCORES"
610 HTAB 5: PRINT "2 CORRECT A WEEK"
620 HTAB 5: PRINT "3 PLOT TEAM MEMBER GRAPH"
630 HTAB 5: PRINT "4 TEAM MEMBER STANDING"
640 HTAB 5: PRINT "5 ADD TEAM MEMBER"
650 HTAB 5: PRINT "6 INITIAL START UP"
660 HTAB 5: PRINT "7 ENTER TEAM SCORE"
661 HTAB 5: PRINT "8 DISPLAY TEAM SCORE"
662 HTAB 5: PRINT "9 EXIT PROGRAM"
670 PRINT : PRINT " INPUT NUMBER ";
680 INPUT U
690 IF U <1 OR U >9 OR U < > INT(U) THEN 600
700 ON U GOTO 1000,2000,3000,4000,5000,6000,7000,8000,9000
1000 HOME : GOSUB 120
1010 NN = R -1
1020 FOR X = 1 TO NN
1030 R = X
1040 GOSUB 180
1049 N$ = LEFT$(N$,30)
1050 HOME : PRINT N$
1060 PRINT : PRINT "ENTER SCORES FOR ABOVE TEAM MEMBER."
1065 PRINT "ENTER ZEROS IF DID NOT BOWL."
1070 PRINT : INPUT "GAME #1 ";S1
1080 PRINT : INPUT "GAME #2 ";S2
1090 PRINT : INPUT "GAME #3 ";S3
1100 PRINT : PRINT "ARE THE SCORES CORRECT? ";: INPUT U$
1110 IF LEFT$(U$,1) < >"Y" THEN 1050
1120 IF S1 = 0 THEN 1190
1130 GOSUB 230
1140 G1 = G1 +3:TP = TP +S1 +S2 +S3
1150 GOSUB 260
1160 R = R +1
1170 GOSUB 210
1180 GOTO 1200
1190 GOSUB 230
1195 GOTO 1150
1200 NEXT
1210 GOSUB 120
1220 G = G +3
1230 GOSUB 100
1240 GOTO 7000
2000 HOME
2001 G(4) = 0
2010 GOSUB 120
2020 NN = R -1
2030 NW = G/3
2040 PRINT "WHAT WEEK WOULD YOU LIKE TO CORRECT?"
2050 PRINT "(1 TO ";NW;") ";: INPUT U
2060 IF U <1 OR U >NW OR U < > INT(U) THEN 600
2070 FOR X = 1 TO NN
2080 R = X
2090 GOSUB 180
2100 HOME : PRINT "INPUT 'Y' TO CHANGE THIS SCORE."
2110 PRINT "INPUT 'N' FOR NEXT NAME."
2114 N$ = LEFT$(N$,30)
2115 PRINT : PRINT N$
2120 INPUT U$
2140 IF LEFT$(U$,1) = "Y" THEN 2170
2150 GOTO 2280
2170 R = U
2180 GOSUB 290
2181 G(1) = S1 +S2 +S3
2190 VTAB 6: PRINT "GAME 1 ";S1
2200 VTAB 8: PRINT "GAME 2 ";S2
2210 VTAB 10: PRINT "GAME 3 ";S3
2220 VTAB 6: HTAB 20: INPUT S1
2230 VTAB 8: HTAB 20: INPUT S2
2240 VTAB 10: HTAB 20: INPUT S3
2250 VTAB 12: PRINT "IS THE ABOVE CORRECT? ";: INPUT U$
2260 IF LEFT$(U$,1) < >"Y" THEN 2220
2270 GOSUB 260
2271 G(2) = S1 +S2 +S3
2272 G(3) = G(2) -G(1)
2273 IF G(1) = 0 AND G(2) >0 THEN G(4) = 3
2274 IF G(1) >0 AND G(2) = 0 THEN G(4) = -3
2275 GOSUB 230:TP = TP +G(3):G1 = G1 +G(4)
2276 GOSUB 210
2280 NEXT X
2290 GOTO 600
3000 HOME
3010 GOSUB 120
3020 NN = R -1:NW = G/3
3030 FOR X = 1 TO NN
3035 R = X
3040 GOSUB 180
3050 HGR
3060 HCOLOR= 3
3070 HPLOT 0,0 TO 0,159 TO 279,159
3080 FOR U = 159 TO 0 STEP -10
3090 FOR TP = O TO 279 STEP 7
3100 HPLOT TP,U
3110 NEXT TP,U
3120 VTAB 21: PRINT "VERT.--25 PINS/DIV. HORZ.--1 WEEK/DIV."
3130 PRINT "PUSH SPACE BAR FOR NEXT GRAPH."
3140 R = 1
3150 GOSUB 290
3160 U = 159 - INT((S1 +S2 +S3)/7.5)
3170 U1 = U
3180 R = R +1
3190 IF R >NW THEN 3239
3200 GOSUB 290
3210 U = 159 - INT((S1 +S2 +S3)/7.5)
3220 HPLOT (R -1) *7,U1 TO R *7,U
3221 U1 = U
3230 GOTO 3180
3239 N$ = LEFT$(N$,30)
3240 PRINT : PRINT N$;: GET U$
3250 PRINT
3260 NEXT X
3265 TEXT
3270 GOTO 600
4000 HOME : PRINT " NAME TP TG AVG HNCP"
4010 PRINT
4020 GOSUB 120
4030 NN = R -1
4040 FOR X = 1 TO NN
4042 R = X
4044 GOSUB 180
4050 GOSUB 230
4060 S1 = INT(TP/G1)
4065 S2 = INT(.8 *(190 -S1))
4070 IF S1 >190 THEN S2 = 0
4090 PRINT LEFT$(N$,12); TAB( 15);TP; TAB( 22);G1; TAB( 29);S1; TAB( 36);S2
4100 NEXT X
4101 VTAB 24: PRINT "PUSH SPACE BAR TO CONTINUE.";: GET U$
4110 GOTO 600
5000 HOME : PRINT "ENTER THE NAME OF THE NEW TEAM MEMBER (UP TO 30 CHARACTORS)"
5010 PRINT : INPUT N$
5020 PRINT : PRINT "IS THE ABOVE CORRECT. ";: INPUT U$
5030 IF LEFT$(U$,1) < >"Y" THEN 5000
5040 N$ = N$ +" "
5050 N$ = LEFT$(N$,30)
5060 GOSUB 120
5070 NW = G/3:S1 = 0:S2 = 0:S3 = 0
5080 GOSUB 150
5090 R = R +1
5100 GOSUB 100
5110 IF NW = 0 THEN 5160
5120 FOR X = 1 TO NW
5130 R = X
5140 GOSUB 260
5150 NEXT X
5160 R = NW +1:TP = 0:G1 = 0
5170 GOSUB 210
5180 GOTO 600
6000 HOME : PRINT "RUN THIS PORTION ONLY PRIOR TO THE FIRSTWEEK OF BOWLING. DO YOU WANT TO RETURN TO MEMU?"
6010 INPUT U$
6020 IF LEFT$(U$,1) = "Y" THEN 600
6021 HOME : PRINT "DO YOU WANT TO ELIMINATE PREVIOUS BOWLERFILES";: INPUT U$
6022 IF LEFT$(U$,1) < >"Y" THEN 6100
6030 GOSUB 120
6040 NN = R -1
6050 FOR X = 1 TO NN
6060 R = X
6070 GOSUB 180
6080 PRINT D$;"DELETE ";N$
6090 NEXT X
6100 R = 1:G = 0: GOSUB 100
6110 GT = 0: GOSUB 320
6120 GOTO 600
7000 HOME : GOSUB 350
7010 PRINT "ENTER FOLLOWING AFTER GAME NUMBERS."
7020 PRINT " WIN 1": PRINT " TIE .5": PRINT " LOSS 0"
7030 FOR X = 1 TO 4
7040 VTAB X +6: PRINT " "
7050 VTAB X +6: PRINT "GAME ";X;" ";: INPUT G(X)
7060 IF G(X) < >1 AND G(X) < >.5 AND G(X) < >0 THEN 7040
7070 NEXT X
7080 PRINT : PRINT "ARE THE ABOVE CORRECT? ";: INPUT U$
7090 IF LEFT$(U$,1) < >"Y" THEN 7000
7100 GOSUB 380
7110 R = R +1:G = G +4:GT = GT +G(1) +G(2) +G(3) +G(4)
7120 GOSUB 320
7130 GOTO 600
8000 GR : COLOR= 0
8010 FOR X = 0 TO 39
8020 HLIN 0,39 AT X
8030 NEXT X
8040 COLOR= 6
8050 HLIN 0,39 AT 10
8060 HLIN 0,39 AT 20
8070 HLIN 0,39 AT 30
8080 HLIN 0,39 AT 0
8090 VTAB 21: PRINT "EACH BLUE LINE IS ONE GAME."
8100 PRINT "EACH VERTICAL LINE IS ONE WEEK."
8110 GOSUB 350
8120 NW = R -1: COLOR= 9
8130 VTAB 23: PRINT "YOUR RECORD IS ";GT;" GAMES OUT OF ";G;"."
8140 FOR X = 1 TO NW
8150 R = X
8160 GOSUB 410
8170 S1 = G(1) +G(2) +G(3) +G(4)
8180 S2 = 40 -S1 *10
8182 IF S2 = 40 THEN 8190
8185 VLIN S2,39 AT X -1
8190 NEXT X
8201 COLOR= 6
8202 HLIN 0,39 AT 0
8203 HLIN 0,39 AT 10
8204 HLIN 0,39 AT 20
8205 HLIN 0,39 AT 30
8209 VTAB 24: PRINT "PRESS SPACE BAR TO CONTINUE.";: GET U$
8210 TEXT
8220 GOTO 600
9000 PRINT D$;"CLOSE": HOME
9010 END